import { AxiosOperator } from '@/common/infrastructure/axios_operator.js'

/**
 * 计算字体大小
 * @param baseFontSize 字体大小
 * @param baseWidth 窗口宽度
 * */
export const computeFontSize = function(baseFontSize = 16, baseWidth = 1920) {
    // 设置字体大小
    function setFontSize() {
        // 获取字体大小
        const scale = Math.ceil(document.documentElement.clientWidth / baseWidth)
        const fontSize = scale * baseFontSize

        // 设置字体大小
        document.documentElement.style.fontSize = fontSize + 'px'
    }

    // 设置 窗体改变大小执行方法
    window.onresize = function() {
        setFontSize()
    }

    // 执行 设置字体大小
    setFontSize()
}

/**
 * 重新加载视口大小
 * */
export const reloadWindowSize = function() {
    setTimeout(() => {
        const resizeEvent = document.createEvent('Event')
        resizeEvent.initEvent('resize', true, true)
        window.dispatchEvent(resizeEvent)
    }, 1)
}

/**
 * 获取本地资源
 * @param fileName 文件名称
 * */
export const getLocalResource = async function <T>(fileName:string):Promise<T> {
    const request:AxiosOperator = new AxiosOperator('')
    const result = await request.get<object, T>(fileName, {})
    return result
}

